home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d18 / tchk20.arc / DEMO.ARC / DEMODATE.C < prev    next >
Text File  |  1989-01-13  |  6KB  |  148 lines

  1. /* demodate.c  -  used for testing TCHK date conversions */
  2.  
  3. #include <howard.h>
  4. #include <datehk.h>
  5.  
  6. #include <stdio.h>
  7. #include <dos.h>
  8. #include <stdlib.h>
  9. #include <string.h>
  10.  
  11. void main(void);
  12.  
  13. void main(void)
  14. {
  15.     extern int _argc;
  16.     extern char **_argv;
  17.     FILE *fp;
  18.     struct date today;
  19.     char *c, buff[80], *c2, temp[20];
  20.     char US[12],Euro[12],Jap[12], *us,*euro,*jap, Sho[80],Ful[80], *shortd,*full;
  21.     double cal,calcent,julA,julB,julE;
  22.     struct ddate dd, *DD;
  23.  
  24.     if ((_argc<2) || ((fp = fopen(_argv[1],"w")) == NULL)) {
  25.         printf("DemoDate is a demonstration program for the date conversions of TCHK.\n\n");
  26.         printf("Usage:  demodate filename.ext\n\n");
  27.         printf("    demodate will write to the file you specify a small chart\n");
  28.         printf("    of possible date conversions. Cross index the date formats\n");
  29.         printf("    you wish to convert. If the entry is 0 (zero) there is no\n");
  30.         printf("    conversion presently available. Otherwise today's date will\n");
  31.         printf("    appear in the format specified in the To column.\n\n");
  32.         printf("In the works is a generic date conversion function that can convert\n");
  33.         printf("over 40 different date formats quickly and easily. See TCHK.DOC for\n");
  34.         printf("more details.");
  35.         exit(1);
  36.     }
  37.  
  38.  
  39.  
  40.     getdate(&today);
  41.     fprintf(fp,"DATEHK\n\n");
  42.     fprintf(fp,"      To   Greg-USA  Greg-Eur  Greg-Jap  Calendar    CalCent     Jul-E       Jul-A       Jul-B       dd-> mon  day  year\n");
  43.     fprintf(fp,"From\n");
  44. /* USA*/
  45.     sprintf(US,"%02d-%02d-%02d",today.da_mon,today.da_day,today.da_year-1900);
  46.     sprintf(Euro,"%02d-%02d-%02d",today.da_day,today.da_mon,today.da_year-1900);
  47.     sprintf(Jap,"%02d-%02d-%02d",today.da_year-1900,today.da_mon,today.da_day);
  48.     cal = GregtoCal(US);
  49.     calcent = GregtoCalCent(US);
  50.     julE = julA = julB = 0;
  51.     dd.dday = dd.dmon = dd.dyear = 0;
  52. fprintf(fp,"Greg-USA   %s  %s  %s  %10.2f  %10.2f  %10.2f  %10.2f  %10.2f       %02d   %02d   %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
  53.     cal = GregEurotoCal(Euro);
  54.     calcent = GregEurotoCalCent(Euro);
  55. fprintf(fp,"Greg-Euro  %s  %s  %s  %10.2f  %10.2f  %10.2f  %10.2f  %10.2f       %02d   %02d   %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
  56.     cal = GregJaptoCal(Jap);
  57.     calcent = GregJaptoCalCent(Jap);
  58. fprintf(fp,"Greg-Jap   %s  %s  %s  %10.2f  %10.2f  %10.2f  %10.2f  %10.2f       %02d   %02d   %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
  59.     us = CaltoGreg(cal);
  60.     strcpy(US,us);
  61.     euro = CaltoGregEuro(cal);
  62.     strcpy(Euro,euro);
  63.     jap = CaltoGregJap(cal);
  64.     strcpy(Jap,jap);
  65.     julE = CaltoJul(cal);
  66.     julA = CaltoJulA(cal);
  67.     julB = CaltoJulB(cal);
  68.     calcent = CaltoCalCent(cal);
  69. fprintf(fp,"Calendar   %s  %s  %s  %10.2f  %10.2f  %10.2f  %10.2f  %10.2f       %02d   %02d   %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
  70.     cal = CalCenttoCal(calcent);
  71. fprintf(fp,"Cal-Cent   %s  %s  %s  %10.2f  %10.2f  %10.2f  %10.2f  %10.2f       %02d   %02d   %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
  72.     us = JultoGreg(julE);
  73.     strcpy(US,us);
  74.     euro = JultoGregEuro(julE);
  75.     strcpy(Euro,euro);
  76.     jap = JultoGregJap(julE);
  77.     strcpy(Jap,jap);
  78.     cal = JultoCal(julE);
  79.     calcent = JultoCalCent(julE);
  80.     DD = Jultoddate(julE);
  81.     dd = *DD;
  82. fprintf(fp,"Jul-E      %s  %s  %s  %10.2f  %10.2f  %10.2f  %10.2f  %10.2f       %02d   %02d   %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
  83.     julA = CaltoJulA(cal);
  84.     us = JulAtoGreg(julA);
  85.     strcpy(US,us);
  86.     euro = JulAtoGregEuro(julA);
  87.     strcpy(Euro,euro);
  88.     jap = JulAtoGregJap(julA);
  89.     strcpy(Jap,jap);
  90.     cal = JulAtoCal(julA);
  91.     calcent = JulAtoCalCent(julA);
  92.     DD = JulAtoddate(julA);
  93.     dd = *DD;
  94. fprintf(fp,"Jul-A      %s  %s  %s  %10.2f  %10.2f  %10.2f  %10.2f  %10.2f       %02d   %02d   %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
  95.     julB = CaltoJulB(cal);
  96.     us = JulBtoGreg(julB);
  97.     strcpy(US,us);
  98.     euro = JulBtoGregEuro(julB);
  99.     strcpy(Euro,euro);
  100.     jap = JulBtoGregJap(julB);
  101.     strcpy(Jap,jap);
  102.     cal = JulBtoCal(julB);
  103.     calcent = JulBtoCalCent(julB);
  104.     DD = JulBtoddate(julB);
  105.     dd = *DD;
  106. fprintf(fp,"Jul-B      %s  %s  %s  %10.2f  %10.2f  %10.2f  %10.2f  %10.2f       %02d   %02d   %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
  107.     julB = 0.0;
  108.     julA = 0.0;
  109.     julE = 0.0;
  110.     cal = 0;
  111.     calcent = 0;
  112.     us = CaltoGreg(cal);
  113.     strcpy(US,us);
  114.     euro = CaltoGregEuro(cal);
  115.     strcpy(Euro,euro);
  116.     jap = CaltoGregJap(cal);
  117.     strcpy(Jap,jap);
  118. fprintf(fp,"ddate      %s  %s  %s  %10.2f  %10.2f  %10.2f  %10.2f  %10.2f       %02d   %02d   %d\n",US,Euro,Jap,cal,calcent,julE,julA,julB,dd.dmon,dd.dday,dd.dyear);
  119.  
  120. julE = CaltoJul(GregtoCal(us));
  121. fprintf(fp,"\nDay of week: %d   =   %s\n",dayofweek(julE),Days[dayofweek(julE)]);
  122.  
  123. fprintf(fp,"       dd->mo dd->da dd->yr    short        full\n");
  124.     shortd = ddatetoshort(&dd);
  125.     strcpy(Sho,shortd);
  126.     full = ddatetofull(&dd);
  127.     strcpy(Ful,full);
  128. fprintf(fp,"ddate:   %2d     %2d     %2d       %s   %s\n",dd.dmon,dd.dday,dd.dyear,Sho,Ful);
  129.     DD = shorttoddate(shortd);
  130.     dd = *DD;
  131.     strcpy(Ful,"");
  132. fprintf(fp,"short:   %2d     %2d     %2d       %s   %s\n",dd.dmon,dd.dday,dd.dyear,Sho,Ful);
  133.     DD = fulltoddate(full);
  134.     dd = *DD;
  135.     strcpy(Sho,"");
  136.     strcpy(Ful,full);
  137. fprintf(fp,"full:    %2d     %2d     %2d       %s   %s\n",dd.dmon,dd.dday,dd.dyear,Sho,Ful);
  138.  
  139.  
  140. /* quit */
  141.     fclose(fp);
  142.     exit(0);
  143. }
  144.  
  145. /*  Yes, I know, this program is a memory waster. Between most
  146.     fprintfs I should free() some memory before using the variable
  147.     again. This is only a demo. When you use the functions, make
  148.     sure you free your allocated memory.                            */